Back · shared
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 960 540">
  <defs>
    <linearGradient id="bg-gradient" x1="0" x2="0" y1="0" y2="1">
      <stop offset="0%" stop-color="#f8fbff" />
      <stop offset="100%" stop-color="#eef2f8" />
    </linearGradient>
    <linearGradient id="generator" x1="0" x2="1" y1="0" y2="1">
      <stop offset="0%" stop-color="#5b8def" />
      <stop offset="100%" stop-color="#3a6edc" />
    </linearGradient>
    <linearGradient id="reviewer" x1="0" x2="1" y1="0" y2="1">
      <stop offset="0%" stop-color="#50c3c8" />
      <stop offset="100%" stop-color="#2aa8ad" />
    </linearGradient>
    <linearGradient id="human" x1="0" x2="1" y1="0" y2="1">
      <stop offset="0%" stop-color="#f7a65a" />
      <stop offset="100%" stop-color="#ef7d2d" />
    </linearGradient>
    <filter id="shadow" x="-20%" y="-20%" width="140%" height="140%" color-interpolation-filters="sRGB">
      <feDropShadow dx="0" dy="10" stdDeviation="12" flood-color="#1b2c4a" flood-opacity="0.12" />
    </filter>
    <marker id="arrow" viewBox="0 0 14 14" refX="11" refY="7" markerWidth="14" markerHeight="14" orient="auto-start-reverse">
      <path d="M2 2l10 5-10 5z" fill="#234" opacity="0.65" />
    </marker>
  </defs>
  <rect width="960" height="540" fill="url(#bg-gradient)" rx="28" />

  <text x="480" y="80" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="36" fill="#1b2c4a" font-weight="600">
    Multi-Agent Safety Net
  </text>
  <text x="480" y="114" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="18" fill="#51607c">
    Generator ↔ Reviewer ↔ Human cross-validation loop
  </text>

  <g>
    <path d="M480 170c-110 0-200 90-200 200" fill="none" stroke="#234" stroke-opacity="0.2" stroke-width="3.5" stroke-dasharray="10 10" />
    <path d="M480 170c110 0 200 90 200 200" fill="none" stroke="#234" stroke-opacity="0.2" stroke-width="3.5" stroke-dasharray="10 10" />
    <path d="M280 370c0 60 80 110 200 110" fill="none" stroke="#234" stroke-opacity="0.2" stroke-width="3.5" stroke-dasharray="10 10" />
    <path d="M680 370c0 60-80 110-200 110" fill="none" stroke="#234" stroke-opacity="0.2" stroke-width="3.5" stroke-dasharray="10 10" />
  </g>

  <g filter="url(#shadow)">
    <rect x="410" y="170" width="140" height="140" rx="24" fill="url(#generator)" />
    <text x="480" y="238" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="24" fill="#ffffff" font-weight="600">Generator</text>
    <text x="480" y="266" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="16" fill="#eaf1ff">초안 생성 · 아이디어 확장</text>
  </g>

  <g filter="url(#shadow)">
    <rect x="190" y="330" width="160" height="140" rx="24" fill="url(#reviewer)" />
    <text x="270" y="399" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="24" fill="#ffffff" font-weight="600">Reviewer</text>
    <text x="270" y="427" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="16" fill="#e6fbfd">품질 평가 · 사실 검증</text>
  </g>

  <g filter="url(#shadow)">
    <rect x="610" y="330" width="160" height="140" rx="24" fill="url(#human)" />
    <text x="690" y="399" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="24" fill="#ffffff" font-weight="600">Human</text>
    <text x="690" y="427" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="16" fill="#fff1e6">맥락 판단 · 최종 결정</text>
  </g>

  <g stroke="#234" stroke-width="4" stroke-opacity="0.65" fill="none" marker-end="url(#arrow)">
    <path d="M480 310C430 330 350 330 350 330" />
    <path d="M350 330C350 330 360 310 370 300" marker-start="url(#arrow)" />
    <path d="M350 350C350 350 440 410 610 410" />
    <path d="M690 330C690 330 610 330 540 300" />
    <path d="M690 450C690 450 560 480 480 480" />
    <path d="M480 480C480 480 420 470 360 430" marker-start="url(#arrow)" />
  </g>

  <g>
    <text x="370" y="322" text-anchor="end" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="16" fill="#1b2c4a" font-weight="600">자동 생성물 전달</text>
    <text x="610" y="298" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="16" fill="#1b2c4a" font-weight="600">리뷰 피드백</text>
    <text x="620" y="446" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="16" fill="#1b2c4a" font-weight="600">인간 승인 · 방향 설정</text>
    <text x="360" y="470" text-anchor="end" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="16" fill="#1b2c4a" font-weight="600">추가 컨텍스트 · 개선 요청</text>
  </g>

  <g>
    <text x="480" y="505" text-anchor="middle" font-family="'Inter', 'Pretendard', 'Helvetica Neue', Arial, sans-serif" font-size="15" fill="#51607c">Cross-validation keeps errors low while aligning outputs with human intent.</text>
  </g>
</svg>